﻿<div class="easyui-layout" data-options="fit:true">
    <div data-options="region:'north',border:false" style="height: 100px; border-bottom-width: 1px; padding: 10px; font-size: 14px;">
        <a class="easyui-linkbutton" data-options="iconCls:'icon-search'" href="/Treegrid/ViewGetRowInfoSource" target="_blank">点击查看扩展代码</a>
        <br />
        js依赖项：
        <br />
        [query-1.11.0.js]、[jquery.jdirk.js]、[jquery.easyui.min.js]、[jeasyui.extensions.treegrid.getRowInfo.js]
    </div>
    <div data-options="region:'center',border:false,title:'此处仅显示“功能演示”选项卡所示功能基于本扩展的实现源码'" style="padding: 15px; font-size: 14px;">
        <a href="~/Demos/ExtensionDemos/Treegrid/GetRowInfoDemo.rar" target="_self">下载本扩展功能演示Demo</a>
        <br />
        <div style="font-size: 17px; font-weight: bold; margin-top: 15px;margin-bottom:10px;">
            扩展方法API
        </div>
        <table class="tableAPI">
            <tr class="title">
                <td style="width:10%;">名称</td>
                <td style="width:5%;">重写</td>
                <td style="width:7%;">参数</td>
                <td>描述</td>
            </tr>
            <tr>
                <td>getRows</td>
                <td>否</td>
                <td>cascade</td>
                <td>
                    获取 easyui-treegrid 中当前页的行数据(包括根节点和子节点)所构成的一个集合；该方法的参数 cascade 定义为如下类型：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Boolean 类型，默认为 false，表示是否连同子级节点数据一并返回；<br />
                    返回值：返回一个 Array 数组对象，数组中的每一个元素都表示一个 node；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果 cascade 为 true，则返回所有根节点以及子节点合并所构成的一个数组；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果 cascade 为 false，则仅返回所有根节点数据，同 getRoots 方法；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果 easyui-treegrid 的当前页没有数据，则返回一个长度为 0 的数组。
                </td>
            </tr>
            <tr>
                <td>find</td>
                <td>是</td>
                <td>param</td>
                <td>
                    重写 easyui-treegrid 的原生方法 find，使之功能更加丰富。<br />
                    获取当前 easyui-treegrid 当前页指定 idField(主键) 的节点对象并返回；该方法的参数 param 可以定义为如下两种类型：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>待查找的行数据的 idField(主键) 字段值；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>function 类型，该回调函数签名为 function(row, index, rows)，其中 row 表示行数据对象、index 表示行索引号、rows 表示当前 easyui-treegrid 所有节点对象集合；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果 param 参数为 function 类型，则 findRow 方法会对当前 easyui-treegrid 的当前页的每一行数据调用该回调函数；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>当回调函数返回 true 时，则表示找到需要查找的结果，立即停止循环调用并返回该行数据；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果回调函数始终未返回 true，则该回调函数会一直遍历 rows 直到最后并返回 null。<br />
                    返回值：返回一个 JSON-Object，表示一个行节点数据对象；如果未找到相应数据，则返回 null。
                </td>
            </tr>
            <tr>
                <td>getNode</td>
                <td>否</td>
                <td>param</td>
                <td>
                    获取当前 easyui-treegrid 中当前页指定 idField(主键) 的节点数据对象；同 find 方法。
                </td>
            </tr>
            <tr>
                <td>findRow</td>
                <td>否</td>
                <td>param</td>
                <td>
                    获取当前 easyui-treegrid 中当前页指定 idField(主键) 的节点数据对象；同 find 方法。
                </td>
            </tr>
            <tr>
                <td>findRows</td>
                <td>否</td>
                <td>param</td>
                <td>
                    获取当前 easyui-treegrid 当前页上的指定行数据集合并返回；该方法的参数 param 可以定义为如下两种类型：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Function 类型，该回调函数签名为 function(row, index, rows)，其中 row 表示行数据对象、index 表示行索引号、rows 表示当前 easyui-treegrid 所有节点对象集合；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果 param 参数为 Function 类型，则 findRows 方法会对当前 easyui-treegrid 的当前页的每一行数据调用该回调函数；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>当回调函数返回 true 时，则返回的结果集中将会包含该行数据；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果该回调函数始终未返回 true，则该方法最终返回一个长度为 0 的数组对象。<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Array 类型，数组中的每一项都可以定义为如下类型：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>待查找的行数据的 idField(主键) 字段值；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Function 类型；具体回调函数签名参考 findRow 方法中 param 参数为 function 类型时的定义；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>当 param 参数定义为 Array 类型时，则 findRows 方法会对数组中的每一项循环调用 findRow 方法，并过滤掉 findRow 方法返回 null 的结果行；<br />
                    落阳注：param 也可以是一个 idField(主键) 字段值，只是返回数据行时会组装成 Array 数组对象。<br />
                    返回值：返回一个 Array 数组对象；数组中的每一项都是 JSON-Object 类型，表示一个行数据对象；如果未找到相应数据，则返回一个长度为 0 的数组对象。
                </td>
            </tr>
            <tr>
                <td>getNodes</td>
                <td>否</td>
                <td>param</td>
                <td>
                    获取当前 easyui-treegrid 当前页上的多个节点所构成的一个数据集合；同 findRows 方法。
                </td>
            </tr>
            <tr>
                <td>getRowDom</td>
                <td>否</td>
                <td>param</td>
                <td>
                    获取 easyui-treegrid 中当前页指定行节点的 DOM-jQuery 对象元素集合；该方法的参数 param 可以定义为以下两种类型：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>要获取的行节点的 idField(主键) 值；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>JSON-Object 对象，该对象需定义如下属性：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>id:     要获取的行节点的 idField(主键) 值；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>cascade:Boolean 类型值，默认为 false，表示是否连同其子级节点的 DOM 行对象一并获取并返回。<br />
                    返回值：如果当前页存在 idField(主键) 指示的行，则返回该行的 DOM-jQuery 对象集合，该集合中包含的 DOM 节点级别为一组 tr class="datagrid-row" 对象；否则返回一个空的 jQuery 对象。
                </td>
            </tr>
            <tr>
                <td>nextRow</td>
                <td>否</td>
                <td>id</td>
                <td>
                    获取指定节点的平级下一格位置的 tree-node 节点；该方法定义如下参数：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>id:  指定的表示 tree-node 对象的 idField 值；<br />
                    返回值：返回 tree-node idField 的同级别下一格位置的 tree-node 节点 node 对象；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果该 tree-node idField 为当前级别的最后一个节点即没有下一格节点；则返回 null。
                </td>
            </tr>
            <tr>
                <td>prevRow</td>
                <td>否</td>
                <td>id</td>
                <td>
                    获取指定节点的平级上一格位置的 tree-node 节点；该方法定义如下参数：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>id:  指定的表示 tree-node 对象的 idField 值；<br />
                    返回值：返回 tree-node idField 的同级别上一格位置的 tree-node 节点对象；该 tree-node 对象含有如下属性：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果该 tree-node idField 为当前级别的第一个节点即没有上一格节点；则返回 null。
                </td>
            </tr>
            <tr>
                <td>getNears</td>
                <td>否</td>
                <td>id</td>
                <td>
                    获取指定节点的同级所有节点(包含自身)；该方法定义如下参数：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>id:  指定的表示 tree-node 对象的 idField 值；<br />
                    返回值：返回 tree-node idField 的同级别(具有和当前 tree-node idField 同一个父级节点)所有节点构成的一个数组对象；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果传入的参数 id 是某个根节点的 idField 或者未定义 idField 参数，则该方法和 getRoots 方法返回的值相同；
                </td>
            </tr>
            <tr>
                <td>getNearChildren</td>
                <td>否</td>
                <td>id</td>
                <td>
                    获取指定节点的下一级所有节点；该方法定义如下参数：<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>id:  指定的表示 tree-node 对象的 idField 值；<br />
                    返回值：返回 tree-node id 的下一级所有节点构成的一个数组对象；<br />
                    <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>如果传入的参数 id 没有子节点，则返回一个包含 0 个元素的数组。<br />
                    备注：该方法和 getChildren 的不同之处在于，getChildren 方法返回的是 tree-node id 下的所有子节点内容；
                </td>
            </tr>
        </table>
    </div>
</div>
